package com.suke.czx.modules.tb.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonProperty;


/**
 * 用户收货地址表
 *
 * @author developer
 * @email developer@163.com
 * @date 2025-05-22 13:07:41
 */
@Data
@TableName("tb_user_address")
public class TbUserAddress implements Serializable {
    public static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID")
    @JsonProperty(value = "id")
    public Long id;

    @ApiModelProperty(value = "关联用户ID")
    @JsonProperty(value = "userId")
    public String userId;

    @ApiModelProperty(value = "收货人姓名")
    @JsonProperty(value = "name")
    public String name;

    @ApiModelProperty(value = "手机号码(存储完整号码)")
    @JsonProperty(value = "phone")
    public String phone;

    @ApiModelProperty(value = "省份")
    @JsonProperty(value = "province")
    public String province;

    @ApiModelProperty(value = "城市")
    @JsonProperty(value = "city")
    public String city;

    @ApiModelProperty(value = "区县")
    @JsonProperty(value = "district")
    public String district;

    @ApiModelProperty(value = "街道")
    @JsonProperty(value = "street")
    public String street;

    @ApiModelProperty(value = "详细地址")
    @JsonProperty(value = "detailAddress")
    public String detailAddress;

    @ApiModelProperty(value = "是否默认地址(0-否 1-是)")
    @JsonProperty(value = "isDefault")
    public Integer isDefault;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonProperty(value = "createDate")
    public Date createDate;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonProperty(value = "updateDate")
    public Date updateDate;

    @ApiModelProperty(value = "删除标志(0-未删除 1-已删除)")
    @JsonProperty(value = "isDeleted")
    public Integer isDeleted;

    @TableField(exist = false)
    private String region;


}
